//
//  WCBuildStep.h
//  WabbitCode
//
//  Created by William Towe on 1/31/09.
//  Copyright 2009 Revolution Software. All rights reserved.
//

#import <Cocoa/Cocoa.h>
#import "WCTreeNode.h"


typedef enum _WCBSStepType {
	WCBSStepTypeAssembleFile,
	WCBSStepTypeCreateLabelFile,
	WCBSStepTypeRunExecutableFile
	
} WCBSStepType;


@class WCFile, WCBuildTarget;

@interface WCBuildStep : WCTreeNode <NSCoding, NSCopying, NSMutableCopying> {
	WCFile *_file;
	WCBSStepType _stepType;
	NSRect _getInfoWindowFrame;
}
@property (readwrite, assign) WCFile *file;
@property (readwrite, retain) NSString *absoluteFilePath;
@property (readonly) NSString *stepTypeAsString;
@property (readwrite, assign) WCBSStepType stepType;
@property (readonly) WCBuildTarget *buildTarget;
@property (readonly) NSArray *outputFileNames;
@property (readonly) NSArray *spasmFlags;
@property (readwrite, assign) NSRect getInfoWindowFrame;

+ (id)buildStepWithStepType:(WCBSStepType)stepType file:(WCFile *)file;

- (id)initWithStepType:(WCBSStepType)stepType file:(WCFile *)file;
@end
